#pragma once

#include <string>
#include <memory>

#include "gui/widget.h"

#include "gui/defaultdefines.h"

enum PanelStyle{ PS_NO_STYLE = 0,
                 PS_NO_DUPLPICATES = 1 };

class Button;

class ButtonPanel:public Widget{
    public:
        ButtonPanel(std::string name, int x, int y, int columns=1, int rows=1, int padding=DEFAULT_BUTTON_PADDING);
        virtual std::string GetType(){ return "ButtonPanel"; }

        void AddButton(std::unique_ptr<Button> button);

        void SetStyle(PanelStyle flags){ style = flags; }

        void BuildVBO();
    private:
        PanelStyle style;
        int rows;
        int columns;
        int bookIndex;
        int padding;
};
